# **************************************************************************************************************//
# Note :                                                                                                       //
# 1. Some states are "default"? Should we add "default:Y", "default:N", "default:none" to each state?          //
# **************************************************************************************************************//

aria_state_mappings = [
       {

              "state"        : "aria-busy",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Expose the STATE_SYSTEM_BUSY state"],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":["Expose the ATK_STATE_BUSY state"],
                                               "MAC":[""]


                                           } # end of description

        }, # end of aria-busy:true
        
        {

              "state"        : "aria-busy",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Clear the STATE_SYSTEM_BUSY state"],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":["Clear the ATK_STATE_BUSY state"],
                                               "MAC":[""]


                                          } # /end of description

       }, # /end of aria-busy:false(default)
        
        {

              "state"        : "aria-checked",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Set the STATE_SYSTEM_CHECKED state"],
                                               "IAccessible2":["Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property in Toggle Control Pattern"],
                                               "ATK":["Expose object attribute checkable=\"true\""],
                                               "MAC":["AXValue=\"1\""]


                                         } # //end of description

      }, # //end of aria-checked:true
        
        {

              "state"        : "aria-checked",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Clear the STATE_SYSTEM_CHECKED state"],
                                               "IAccessible2":["Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property in Toggle Control Pattern"],
                                               "ATK":["Expose object attribute checkable=\"true\""],
                                               "MAC":["AXValue=\"0\""]


                                        } # end of description

     }, # end of aria-checked:false

        {

              "state"        : "aria-checked",
              "value"        : "mixed",
              "description"  : {
                                               "MSAA":["Set the STATE_SYSTEM_CHECKED state"],
                                               "IAccessible2":["Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property in Toggle Control Pattern"],
                                               "ATK":["Expose ATK_STATE_INDETERMINATE/STATE_SYSTEM_MIXED, unless on a role of radio or menuitemradio (in those cases treat as \"false\") ","Expose object attribute checkable=\"true\""],
                                               "MAC":["AXValue=\"0.5\""]


                                       } #  end of description

    }, # end of aria-checked:mixed 
    # Treat as 'false' on radio and menuitemradio roles
  
        {

              "state"        : "aria-checked",
              "value"        : "undefined",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                                      } #  end of description

   }, #  end of aria-checked
        
        {

              "state"        : "aria-disabled",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Set STATE_SYSTEM_UNAVAILABLE","Expose STATE_SYSTEM_SENSITIVE + STATE_SYSTEM_ENABLED","Propagate to all descendants of the element with STATE_SYSTEM_FOCUSABLE"],
                                               "IAccessible2":[""],
                                               "UIA":["Set IsEnabled to \"false\""],
                                               "ATK":[""],
                                               "MAC":["Set AXEnabled to \"false\""]


                                     } # end of description

  }, #  end of aria-disabled:true
        
        {

              "state"        : "aria-disabled",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Clear STATE_SYSTEM_UNAVAILABLE"],
                                               "IAccessible2":[""],
                                               "UIA":["Set IsEnabled to \"true\""],
                                               "ATK":["Expose ATK_STATE_ENABLED"],
                                               "MAC":["Set AXEnabled to \"true\""]


                                    } # end of description

 }, # end of aria-disabled:false(default)
        
        {

              "state"        : "aria-expanded",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Set STATE_SYSTEM_EXPANDED"],
                                               "IAccessible2":[""],
                                               "UIA":["Expose as ExpandCollapseState property of ExpandCollapse Control Pattern"],
                                               "ATK":["Expose ATK_STATE_EXPANDABLE and ATK_STATE_EXPANDED"],
                                               "MAC":[""]


                                   } # end of description

}, # end of aria-expanded:true
        
        {

              "state"        : "aria-expanded",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Set STATE_SYSTEM_COLLAPSED"],
                                               "IAccessible2":[""],
                                               "UIA":["Expose as ExpandCollapseState property of ExpandCollapse Control Pattern"],
                                               "ATK":["Expose ATK_STATE_EXPANDABLE"],
                                               "MAC":[""]


                                  } # end of description
}, # end of aria-expanded:false
        
        {

              "state"        : "aria-expanded",
              "value"        : "undefined",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                                 } #  end of description
        }, # end of aria-expanded:undefined(default)
        
        {

              "state"        : "aria-grabbed",
              "value"        : "true",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Object attribute grabbed=\"true\""],
                                               "UIA":[""],
                                               "ATK":["Object attribute grabbed=\"true\""],
                                               "MAC":[""]


                                } # end of descriptio
        }, # end of aria-grabbed:true
        
        {

              "state"        : "aria-grabbed",
              "value"        : "false",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Object attribute grabbed=\"true\""],
                                               "UIA":[""],
                                               "ATK":["Object attribute grabbed=\"true\""],
                                               "MAC":[""]


                               } #  end of description
        }, # end of aria-grabbed:false
        
        {

              "state"        : "aria-grabbed",
              "value"        : "undefined",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Object attribute grabbed=\"false\""],
                                               "UIA":[""],
                                               "ATK":["Object attribute grabbed=\"false\""],
                                               "MAC":[""]


                              } # end of description
                              
        }, # end of aria-grabbed:undefined(default)
        
        {

              "state"        : "aria-hidden",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["This is used in platform accessibility APIs to indicate that the element and its children are hidden and should not be exposed to assistive technology. For assistive technologies that operate directly on the user agent's DOM it indicates that the element and its children are hidden and should not be processed by the assistive technology. If the aria-hidden state is undefined, implementations MAY use information from the browser rendering engine to determine if the element is visibly hidden. Advisory: it is incorrect use of WAI-ARIA if an element with aria-hidden (state)=\"true\" is visible. The aria-hidden property is exposed only so that DOM-based assistive technologies can be informed of visibility changes. However, the browser engine will be able to provide the most complete set of all truly hidden nodes."],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                             } # end of description

        }, # end of aria-hidden:true
        
        {

              "state"        : "aria-hidden",
              "value"        : "false",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                            } # end of description

        }, # end of aria-hidden:false
        
        {

              "state"        : "aria-invalid",
              "value"        : "true",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Set IA2_STATE_INVALID_ENTRY.","Expose the value as a text attribute (not object attribute)."],
                                               "UIA":["Expose status in IsDataValidForForm property"],
                                               "ATK":["Expose the value as a text attribute (not object attribute)."],
                                               "MAC":[""]


                           } # end of description

        }, # end of aria-invalid:true
        
        {

              "state"        : "aria-invalid",
              "value"        : "spelling",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Set IA2_STATE_INVALID_ENTRY.","Expose the value as a text attribute (not object attribute)."],
                                               "UIA":["Expose status in IsDataValidForForm property"],
                                               "ATK":["Expose the value as a text attribute (not object attribute)."],
                                               "MAC":[""]


                          } # end of description

        }, # end of aria-invalid:spelling
        
        {

              "state"        : "aria-invalid",
              "value"        : "grammar",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Set IA2_STATE_INVALID_ENTRY.","Expose the value as a text attribute (not object attribute)."],
                                               "UIA":["Expose status in IsDataValidForForm property"],
                                               "ATK":["Expose the value as a text attribute (not object attribute)."],
                                               "MAC":[""]


                         } # end of description

        }, # end of aria-invalid:grammar
        
        {

              "state"        : "aria-invalid",
              "value"        : "false",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":["Clear IA2_STATE_INVALID_ENTRY or equivalent state."],
                                               "UIA":["Expose status in IsDataValidForForm property"],
                                               "ATK":[""],
                                               "MAC":[""]


                        } # end of description

        }, # end of aria-invalid:false(default)
        
        {

              "state"        : "aria-pressed",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Set the STATE_SYSTEM_PRESSED state."],
                                               "IAccessible2":["If on a button (WAI-ARIA/HTML/XUL), expose the role as IA2_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property of Toggle Control Pattern"],
                                               "ATK":["If on a button (WAI-ARIA/HTML/XUL), expose the role as ATK_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "MAC":[""]


                       } # end of description

        }, # end of aria-pressed:true
        
        {

              "state"        : "aria-pressed",
              "value"        : "mixed",
              "description"  : {
                                               "MSAA":["Set the STATE_SYSTEM_PRESSED state."],
                                               "IAccessible2":["If on a button (WAI-ARIA/HTML/XUL), expose the role as IA2_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property of Toggle Control Pattern"],
                                               "ATK":["Expose ATK_STATE_INDETERMINATE/STATE_SYSTEM_MIXED.","If on a button (WAI-ARIA/HTML/XUL), expose the role as ATK_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "MAC":[""]


                      } # end of description

        }, # end of aria-pressed:mixed
        
        {

              "state"        : "aria-pressed",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Clear the STATE_SYSTEM_PRESSED state"],
                                               "IAccessible2":["If on a button (WAI-ARIA/HTML/XUL), expose the role as IA2_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "UIA":["Expose as ToggleState property of Toggle Control Pattern"],
                                               "ATK":["If on a button (WAI-ARIA/HTML/XUL), expose the role as ATK_ROLE_TOGGLE_BUTTON.","Expose object attribute checkable=\"true\""],
                                               "MAC":[""]


                     } # end of description

        }, # end of aria-pressed:false
        
        {

              "state"        : "aria-pressed",
              "value"        : "undefined",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                    } #  end of description

        }, # end of aria-pressed:undefined(default)
        
         {

              "state"        : "aria-selected",
              "value"        : "true",
              "description"  : {
                                               "MSAA":["Expose STATE_SYSTEM_SELECTED","Expose STATE_SYSTEM_SELECTABLE"],
                                               "IAccessible2":["If not DISABLED, toggle between \"true\" and \"false\" as appropriate when the AccessibleSelection interface is used on an ancestor with aria-multiselectable as described in Selection."],
                                               "UIA":["Expose IsSelected property on SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable."],
                                               "ATK":["If not DISABLED, toggle between \"true\" and \"false\" as appropriate when the AccessibleSelection interface is used on an ancestor with aria-multiselectable as described in Selection. Expose ATK_STATE_SELECTED"],
                                               "MAC":["Set AXSelected attribute"]


                   } #  end of description

        }, # end of aria-selected:true
        
        {

              "state"        : "aria-selected",
              "value"        : "false",
              "description"  : {
                                               "MSAA":["Clear STATE_SYSTEM_SELECTED","Expose STATE_SYSTEM_SELECTABLE"],
                                               "IAccessible2":["If not DISABLED, toggle between \"true\" and \"false\" as appropriate when the AccessibleSelection interface is used on an ancestor with aria-multiselectable as described in Selection."],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":["Set AXSelected attribute"]


                  } # end of description

        }, # end of aria-selected:false

        {

              "state"        : "aria-selected",
              "value"        : "undefined",
              "description"  : {
                                               "MSAA":[""],
                                               "IAccessible2":[""],
                                               "UIA":[""],
                                               "ATK":[""],
                                               "MAC":[""]


                 } # end of description

        }  # end of aria-selected:undefined(default)
        
        
 

] # end of State